4.5.1.2 新增隧道应用
Path: /api/v1/resource/createResource
Method: POST
接口描述:
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 必须 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
accessModel | string | 必须 | 访问模式,隧道应用:L3VPN | mock: L3VPN | |
subModel | string | 必须 | 子访问模式,TCP/UDP协议:L3VPN,HTTP/HTTPS协议:TUN2WEB | mock:L3VPN | |
name | string | 必须 | 名字 | ||
description | string | 非必须 | 描述 | ||
groupId | string | 必须 | 所属应用分类ID | 可通过应用分类查询接口获取ID。groupId与groupName只传一个即可,都传时以groupId为准 | |
groupName | string | 非必须 | 所属应用分类名称 | groupId与groupName只传一个即可,都传时以groupId为准 | |
status | number | 非必须 | 1 | 启用状态,0禁用,1启用 | mock: 1 |
iconId | string | 非必须 | "1" | 预置的图标ID,"1"~"31"可供选择 | 自定义图标设置建议在控制台中配置 |
nodeGroupId | string | 必须 | 节点区域id | 综合网关无需填写,分离式设备必填。nodeGroupId与nodeGroupName只传一个即可,都传时以nodeGroupId为准 | |
nodeGroupName | string | 非必须 | 节点区域名称 | 综合网关无需填写,分离式设备必填。nodeGroupId与nodeGroupName只传一个即可,都传时以nodeGroupId为准 | |
allowApply | number | 非必须 | 1 | 允许用户自助申请此应用,0不允许,1允许 | |
applyForInfo | object | 非必须 | 用户申请信息,如果传输,需要保证结构完整 | ||
├─ content | string | 非必须 | 告警内容,需要与告警理由一起传输 | ||
├─ accessReason | string[] | 非必须 | 申请理由,需要与告警内容一起传输 | ||
accessAddress | string | 非必须 | 应用访问入口地址 | mock: https://test.com | |
addressList | object[] | 必须 | 服务器地址配置 | ||
├─ protocol | string | 必须 | 协议,tcp, udp, all, icmp | ||
├─ host | string | 必须 | 服务器地址 | mock: 1.1.1.1 | |
├─ port | string | 必须 | 端口, 协议为icmp时请传0 | MOCK: 80 | |
excludeAddressList | object[] | 非必须 | 排除地址列表 | 仅适用于2.2.10及以上版本 | |
├─ host | string | 非必须 | 排除地址 | mock: 1.1.1.1 | |
├─ port | string | 非必须 | 排除端口 | MOCK: 80 | |
├─ protocol | string | 非必须 | 协议,tcp, udp, all, icmp | ||
excludeAddress | object | 非必须 | 排除地址配置 | 仅适用于2.2.10 SP2及以上版本(2.2.12除外) | |
├─ status | number | 非必须 | 是否启用应用排除地址, 0:禁用,1:启用 | ||
├─ excludeAddressList | object[] | 非必须 | 排除地址列表 | ||
├─├─ host | string | 非必须 | 排除地址 | mock: 1.1.1.1 | |
├─├─ port | string | 非必须 | 排除端口 | MOCK: 80 | |
├─├─ protocol | string | 非必须 | 协议,tcp, udp, all, icmp | ||
trustedCertId | string | 非必须 | 授信证书ID | 默认内置web应用证书ID为"default",子访问模式为TUN2WEB时需要填写,可以根据证书ID或者名称进行指定(id优先) | |
trustedCertName | string | 非必须 | 授信证书名称 | trustedCertName 和 trustedCertId 只传一个即可,都传以trustedCertId为准 | |
ext | object | 必须 | 扩展字段 | ||
├─ hide | number | 非必须 | 0 | 在用户应用中心隐藏,0不隐藏,1隐藏 | |
├─ enableTCPPrefL3 | bool | 非必须 | TCP协议优先走长隧道,true启用,false 不启用 | 默认不启用 | |
├─ addrPretend | bool | 非必须 | 解析地址伪装(Fake IP),true启用,false 不启用 | 默认启用 | |
├─ openModel | object | 非必须 | 打开方式(仅用于配置windows平台的浏览器打开方式) | 2.3.10版本后不建议再使用该字段,请使用后文所述的openModel字段。如果两者共存,以后文的openModel配置为准 | |
├─├─ model | string | 非必须 | no | 方式,有如下几种值: 1. no(无打开方式) 2. default-browser(默认浏览器) 3. custom-browser(自定义浏览器) |
mock: no |
├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列 | ||
├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列 | ||
├─├─ issuerName | array | 非必须 | 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列 | ||
├─├─ originalFilename | string | 非必须 | 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列 | ||
├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
ssoConfig | object | 非必须 | 单点登录配置, 不建议通过openAPI进行配置 | ||
├─ enable | boolean | 非必须 | 不建议通过openAPI进行配置,请直接传false | mock: false | |
openModel | object | 非必须 | 打开方式(新版,适用于2.3.10之后的版本) | 定义用户在工作台点击应用时的效果 | |
├─ enabled | number | 非必须 | 是否启用打开方式,0为不启用,1为启用 | ||
├─ platform | object | 非必须 | 不同平台的打开方式 | ||
├─├─ windows | object | 非必须 | Windows平台的打开方式 | 不传时,用户在客户端工作台点击应用将提示“未配置打开方式” | |
├─├─├─ model | string | 非必须 | no | 方式,有如下几种值: 1. no(无打开方式) 2. default-browser(默认浏览器) 3. custom-browser(自定义浏览器) 4. specified-program(指定程序) 5. sys-program(系统应用) |
mock: no |
├─├─├─ browser | object | 非必须 | 打开方式为"default-browser"或"custom-browser"时的详细配置 | ||
├─├─├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 programName 列 | ||
├─├─├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 processName 列 | ||
├─├─├─├─ issuerName | string | 非必须 | 签名者名称,如果填写了programName,则需要填写此项,每种浏览器对应的签名者名称参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 issuerName 列 | ||
├─├─├─├─ originalFilename | string | 非必须 | 原始文件名,如果填写了programName,则需要填写此项,每种浏览器对应的原始文件名参考 《附录1:打开方式中浏览器信息对应表-Windows》 中的 originalFilename 列 | ||
├─├─├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
├─├─├─├─ enableExecArgs | number | 非必须 | 是否在打开时携带额外启动参数 | 仅当model为"custom-browser"时有效 | |
├─├─├─├─ execArgs | string[] | 非必须 | 额外启动参数列表 | ||
├─├─├─├─ hint | object | 非必须 | 未找到浏览器时的提示语 | 仅当useDefaultBrowser为0时才会显示提示语 | |
├─├─├─├─├─ zh-cn | string | 非必须 | 中文提示语 | ||
├─├─├─├─├─ en-us | string | 非必须 | 英文提示语 | ||
├─├─├─ specifiedProgram | object | 非必须 | 打开方式为"specified-program"时的详细配置(指定程序打开) | ||
├─├─├─├─ programName | string | 非必须 | 程序名称 | ||
├─├─├─├─ programPath | string | 非必须 | 程序路径 | ||
├─├─├─├─ enableExecArgs | number | 非必须 | 是否在打开时携带额外启动参数 | ||
├─├─├─├─ execArgs | string[] | 非必须 | 额外启动参数列表 | ||
├─├─├─├─ allowOtherProgram | number | 非必须 | 是否允许终端用户选择其他程序,0不允许,1允许 | ||
├─├─├─├─ hint | object | 非必须 | 未找到程序时的提示语 | 子对象结构和字段定义与browser子对象的hint字段完全相同,以下省略 | |
├─├─├─ sysProgram | object | 非必须 | 打开方式为"sys-program"时的详细配置(使用系统应用打开) | ||
├─├─├─├─ programName | string | 非必须 | 程序名称。支持的名称见《附录4:打开方式支持的系统应用名称表-Windows》 | ||
├─├─├─├─ enableExecArgs | number | 非必须 | 是否在打开时携带额外启动参数 | ||
├─├─├─├─ execArgs | string[] | 非必须 | 额外启动参数列表 | ||
├─├─ mac | object | 非必须 | MacOS平台的打开方式 | 除了model不支持为"sys-program",以及model为"specified-program"时不支持programPath字段外,其子对象结构和字段定义与Windows平台的打开方式完全相同,以下省略。不传时,用户在客户端工作台点击应用将提示“未配置打开方式” | |
├─├─ linux | object | 非必须 | Linux平台的打开方式 | 不传时,用户在客户端工作台点击应用将提示“未配置打开方式” | |
├─├─├─ model | string | 非必须 | no | 方式,有如下几种值: 1. no(无打开方式) 2. default-browser(默认浏览器) 3. custom-browser(自定义浏览器) 4. specified-program(指定程序) |
mock: no |
├─├─├─ browser | object | 非必须 | 打开方式为"default-browser"或"custom-browser"时的详细配置 | ||
├─├─├─├─ useDefaultBrowser | number | 非必须 | 允许在未找到该浏览器时自动打开默认浏览器,0不允许,1允许 | ||
├─├─├─├─ hint | object | 非必须 | 未找到浏览器时的提示语 | 仅当useDefaultBrowser为0时才会显示提示语。子对象结构和字段定义与Windows平台的hint字段完全相同,以下省略 | |
├─├─├─├─ uos | object | 非必须 | UOS子平台的浏览器打开方式配置 | ||
├─├─├─├─├─ programName | string | 非必须 | 程序名称,如果model填写的custom-browser时,则此项需要填写, 参考 《附录3:打开方式中浏览器信息对应表-Linux》 中的 programName 列 | ||
├─├─├─├─├─ processName | string | 非必须 | 进程名,如果填写了programName,则需要填写此项,每种浏览器对应的进程名参考 《附录3:打开方式中浏览器信息对应表-Linux》 中的 processName 列 | ||
├─├─├─├─ kylin | object | 非必须 | 麒麟子平台的浏览器打开方式配置 | 子对象结构和字段定义与UOS子平台完全相同,以下省略 | |
├─├─├─├─ ubuntu | object | 非必须 | Ubuntu子平台的浏览器打开方式配置 | 子对象结构和字段定义与UOS子平台完全相同,以下省略 | |
├─├─├─ specifiedProgram | object | 非必须 | 打开方式为"specified-program"时的详细配置(指定程序打开) | 除了不支持programPath字段,以及不支持配置额外启动参数外,其子对象结构和字段定义与Windows平台的specifiedProgram字段完全相同,以下省略 |
请求示例
{
"status": 1,
"accessModel": "L3VPN",
"subModel": "L3VPN",
"name": "[RDP]张三的windows桌面",
"description": "",
"accessAddress": "https://test.com",
"groupId": "default",
"nodeGroupId": "162a5d3c-2266-4643-9c50-c5e619fa7e6e",
"iconId": "1",
"ext": {
"hide": 0,
"enableTCPPrefL3": false,
"addrPretend": true
},
"addressList": [
{
"protocol": "tcp",
"host": "1.1.1.1",
"port": "80-3389"
}
],
"excludeAddressList": [
{
"protocol": "tcp",
"host": "1.1.1.1",
"port": "443"
}
],
"applyForInfo": {
"content": "您没有权限访问该应用,如需访问须提交访问申请\n若申请长时间未处理,请联系管理员:\n联系人:张三(工号10001)\n联系电话:1",
"accessReason": [
"我所属组织架构均需要通过此应用开展业务工作",
"我因为岗位职责原因需要访问该应用",
"我因为个人特殊原因需要访问该应用"
]
},
"openModel": {
"enabled": 1,
"platform": {
"windows": {
"model": "sys-program",
"browser": {
"hint": {
"en-us": "This application needs to be opened using chrome.exe browser.\n \nPlease download and install this browser.",
"zh-cn": "此应用需要通过\"chrome.exe\"浏览器使用\n请下载并安装此浏览器"
},
"useDefaultBrowser": 1,
"programName": "Google Chrome(谷歌浏览器)",
"processName": "chrome.exe",
"issuerName": [
"Google LLC",
"Google Inc"
],
"originalFilename": "chrome.exe",
"enableExecArgs": 0,
"execArgs": [
"--winArgs"
]
},
"specifiedProgram": {
"hint": {
"zh-cn": "此应用需要通过“xxx”程序使用\n请下载并安装此程序",
"en-us": "This application needs to be opened using xxx program.\nPlease download and install this program."
},
"programName": "",
"allowOtherProgram": 1,
"programPath": "",
"enableExecArgs": 0,
"execArgs": []
},
"sysProgram": {
"enableExecArgs": 1,
"execArgs": [
"/v 192.168.1.1"
],
"programName": "remoteDesktop"
}
},
"linux": {
"model": "custom-browser",
"browser": {
"hint": {
"en-us": "Please download and install the corresponding browser according to your system.\nUOS: Install 谷歌浏览器\nKylin: Install 龙芯浏览器",
"zh-cn": "请根据系统下载并安装对应浏览器\nUOS系统:安装谷歌浏览器\n麒麟系统:安装龙芯浏览器"
},
"useDefaultBrowser": 1,
"ubuntu": {
"issuerName": [],
"processName": "",
"programName": "",
"originalFilename": ""
},
"uos": {
"issuerName": [
""
],
"processName": "Google Chrome",
"programName": "谷歌浏览器",
"originalFilename": ""
},
"kylin": {
"issuerName": [
""
],
"processName": "龙芯浏览器",
"programName": "龙芯浏览器",
"originalFilename": ""
}
},
"specifiedProgram": {
"hint": {
"en-us": "This application needs to be opened using xxx program.\nPlease download and install this program.",
"zh-cn": "此应用需要通过“xxx”程序使用\n请下载并安装此程序"
},
"programName": "",
"allowOtherProgram": 1
}
},
"mac": {
"model": "specified-program",
"browser": {
"hint": {
"en-us": "",
"zh-cn": ""
},
"useDefaultBrowser": 1,
"programName": "",
"processName": "",
"issuerName": [],
"originalFilename": "",
"enableExecArgs": 0,
"execArgs": []
},
"specifiedProgram": {
"hint": {
"zh-cn": "此应用需要通过“FileZilla”程序使用\n请下载并安装此程序",
"en-us": "This application needs to be opened using FileZilla program.\nPlease download and install this program."
},
"programName": "FileZilla",
"allowOtherProgram": 0,
"programPath": "",
"enableExecArgs": 0,
"execArgs": []
}
}
}
}
}
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 必须 | 错误码 | ||
data | object | 必须 | 数据字段 | ||
├─ id | string | 必须 | 新建应用的ID | ||
msg | string | 必须 | 描述信息 |
错误信息
错误提示 | 错误码 |
---|---|
参数检查出错 | 10000001 |
WEB全网应用特性已%s,当前操作不允许执行,请刷新后重试 | 10000001 |
subModel 与 accessModel 不匹配,需要是 %s 之一 | 10000001 |
一个服务器地址只能对应一个访问地址,请先禁用或删除已存在的应用,再匹配新的服务器地址或访问地址 | 77200010 |
主站点前端地址或别名与依赖站点前端地址或别名冲突 | 10000001 |
依赖站点(%s)同时存在当前应用和应用(%s)配置中,为避免冲突建议将此子站点配置为独立应用 | 77200010 |
保存失败,应用单点登录配置有误 | 10000001 |
前端地址别名必须是url格式,如:https://192.168.1.1:443 | 77200010 |
前端访问地址不能为空 | 10000001 |
前端访问地址与客户端接入地址冲突 | 77200018 |
前端访问地址端口与证书认证端口冲突 | 77200018 |
单个主站点的依赖站点数量超过最大个数限制 | 10000001 |
单点登录设置中界面控件名称存在冲突 | 10000001 |
名称不能为空 | 10000001 |
地址列表超过最大个数限制 | 10000001 |
地址格式非法,开启域名排除地址特性时,隧道泛域名服务器地址最多只能有1个 * 且只能出现在首位 | 10000001 |
应用分类不存在 | 77200001 |
应用名(%s)已存在 | 77200005 |
应用图标不存在,请检查应用图标ID | 10000001 |
应用地址:(%s)格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com | 77200010 |
应用总数已达上限,无法继续新增 | 77200007 |
当前保存的泛域名与数据库中的记录不匹配,请返回上一级再尝试编辑 | 10000001 |
当前未配置WEB全网应用,请先配置WEB全网应用 | 10000001 |
当只改写不监听前端地址时,必须有前端地址别名 | 10000001 |
所有的服务器地址均被排除 | 77200010 |
授信证书不能为空 | 10000001 |
排除后生成的服务器地址数为:%s 超过限制:%s! | 77200041 |
排除地址 %s %s:%s 范围大于服务器地址 | 77200040 |
排除地址 %s 不在已配置的服务器地址中 | 77200040 |
排除地址不能为域名 | 10000001 |
服务器地址必须是url格式,如:https://192.168.1.1:443 | 77200010 |
根据排除地址生成的应用地址数量超过限制 | 77200041 |
格式错误,请输入如:192.168.1.1,192.168.1.1/24,192.168.1.1-192.168.1.10,www.xxx.com | 77200010 |
格式错误,请输入如:443,1-65535 | 77200010 |
此主站点存在多个前端地址相同的依赖站点 | 77200010 |
此主站点存在重复的依赖站点 | 77200010 |
泛域名应用前端访问地址不允许包含'.' | 10000001 |
泛域名长度不能超过%s个字符,否则将无法同步更新泛域名应用 | 10000001 |
登录界面地址的协议、主机名及端口需与该应用后端服务器地址保持一致 | 10000001 |
端口(%s)格式错误,请输入如:443,1-65535 | 77200010 |
网络区域不存在 | 10000001 |
自定义请求头部改写地址必须为后端服务器地址或任一别名地址 | 10000001 |
节点区域不存在 | 77200001 |
访问地址别名必须是url格式,如:https://192.168.1.1:443 | 77200010 |
访问地址必须是url格式,如:https://192.168.1.1:443 | 77200010 |
访问理由不能为空 | 10000001 |
证书解析失败,强制导入后,将修改为内置web应用证书 | 10000001 |
该应用的依赖站点(%s)和其他应用的前端地址存在冲突 | 77200010 |
该应用的依赖站点(%s)和应用(%s)的前端地址存在冲突 | 77200010 |
该应用的前端访问地址与依赖站点地址存在冲突 | 77200010 |
该应用的前端访问地址与应用(%s)的依赖站点存在冲突 | 77200010 |
该应用的后端访问地址与依赖站点地址存在冲突 | 77200010 |
选择的授信证书不存在 | 10000001 |
隧道应用排除地址范围大于应用地址 | 77200040 |
隧道应用服务器地址非法 | 10000001 |
附录1:打开方式中浏览器信息对应表-Windows
浏览器名称(programName) | 进程名(processName) | 签名者名称(issuerName) | 原始文件名(originalFilename) | 备注 | 其他信息 |
---|---|---|---|---|---|
Google Chrome(谷歌浏览器) | chrome.exe | Google LLC | chrome.exe | ||
Internet Explorer(IE浏览器) | iexplore.exe | Microsoft Corporation | IEXPLORE.EXE | ||
360安全浏览器 | 360se.exe | Beijing Qihu Technology Co., Ltd. | 360se.exe | ||
360极速浏览器 | 360chrome.exe | Beijing Qihu Technology Co., Ltd. | 360chrome.exe | ||
Firefox(火狐浏览器) | firefox.exe | Mozilla Corporation | firefox.exe | ||
Microsoft Edge | msedge.exe | Microsoft Corporation | msedge.exe | ||
QQ浏览器 | QQBrowser.exe | Tencent Technology(Shenzhen) Company Limited | QQBrowser.exe | ||
搜狗浏览器 | SogouExplorer.exe | Beijing Sogou Technology Development Co., Ltd. | 该浏览器不存在原始文件名 |
附录2:打开方式中浏览器信息对应表-MacOS
浏览器名称(programName) | 进程名(processName) | 签名者名称(issuerName) | 原始文件名(originalFilename) | 备注 | 其他信息 |
---|---|---|---|---|---|
谷歌浏览器 | Google Chrome.app | Google LLC | Google Chrome.app | ||
Safari | Safari.app | Apple Code Signing Certification Authority | Safari.app | ||
火狐浏览器 | Firefox.app | Mozilla Corporation | Firefox.app | ||
360浏览器 | 360Chrome.app | Beijing Qihoo Technology Co Ltd | 360Chrome.app | ||
Microsoft Edge | Microsoft Edge.app | Microsoft Corporation | Microsoft Edge.app | ||
QQ浏览器 | QQBrowser.app | Tencent Technology (Shenzhen) Company Limited | QQBrowser.app | ||
Opera浏览器 | Opera.app | Opera Software AS | Opera.app |
附录3:打开方式中浏览器信息对应列表-Linux
浏览器名称(programName) | 进程名(processName) | 备注 | 其他信息 |
---|---|---|---|
UOS浏览器 | 浏览器 | 仅支持UOS子平台 | |
火狐浏览器 | Firefox 网络浏览器 | ||
龙芯浏览器 | 龙芯浏览器 | 不支持Ubuntu子平台 | |
奇安信浏览器 | 奇安信可信浏览器 | ||
360浏览器 | 360安全浏览器 | ||
谷歌浏览器 | Google Chrome | ||
红莲花浏览器 | 红莲花安全浏览器 |
附录4:打开方式支持的系统应用名称表-Windows
程序名称(programName) | 代表的实际程序 | 备注 | 其他信息 |
---|---|---|---|
remoteDesktop | 远程桌面 | ||
file | 文件资源管理器 |